package com.sojson.util.txy.bean;

import com.sojson.config.exception.bean.Status;
import com.sojson.util.pay.bean.PayResult;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 返回给前端的腾讯云接口参数Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
@Data
@ApiModel("腾讯云接口返回信息")
public class TxyResult extends PayResult {

    /***/
    private static final long serialVersionUID = 2231406852564862492L;

    /** appid类似帐号 */
    @ApiModelProperty("appid类似帐号")
    private String appId;
    /** webankAppId类似帐号 */
    @ApiModelProperty("webankAppId类似帐号")
    private String webankAppId;
    /** 用户ID */
    @ApiModelProperty("用户ID")
    private String userId;
    /** 订单号 */
    @ApiModelProperty("订单号")
    private String orderNo;
    /** faceId */
    @ApiModelProperty("faceId")
    private String faceId;
    /** url */
    @ApiModelProperty("url")
    private String url;
    /** 是否显示结果页面(参数值为“1”时直接跳转到url回调地址,null或其他值跳转提供的结果页面) */
    @ApiModelProperty("是否显示结果页面(参数值为“1”时直接跳转到url回调地址,null或其他值跳转提供的结果页面)")
    private String resultType;
    /** 接口版本 */
    @ApiModelProperty("接口版本")
    private String version;
    /** 调用JS接口的临时票据 */
    @ApiModelProperty("调用JS接口的临时票据")
    private String ticket;
    /** 生成密钥的随机字符串 */
    @ApiModelProperty("生成密钥的随机字符串")
    private String nonce;
    /** 签名类型 */
    @ApiModelProperty("签名类型")
    private String signType;
    /** 签名 */
    @ApiModelProperty("签名")
    private String sign;
    /** jsapiTicket */
    @ApiModelProperty("jsapiTicket")
    private String jsapiTicket;
    /** 状态信息 */
    @ApiModelProperty("状态信息")
    private Status status;

    public TxyResult() {}

    /**
     * 成功返回
     * @param code
     */
    public TxyResult(Integer code) {
        this(code, null);
    }

    /**
     * 返回失败
     * @param code
     * @param msg
     */
    public TxyResult(Integer code, String msg) {
        this(new Status(code, msg));
    }

    public TxyResult(Status status) {
        this.status = status;
    }

}